/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Departamento.java
 *
 * Created on 26/04/2011, 08:57:41
 */

package br.com.comprasPublicas.view.cadastro;

import br.com.comprasPublicas.dao.DAOGenerico;
import br.com.comprasPublicas.entity.Departamento;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


/**
 *
 * @author Rapha
 */
public class DepartamentoView extends javax.swing.JFrame {
    /** Creates new form Departamento */
    public DepartamentoView() {
        initComponents();
        preencher_jtable();
        btn_novo.requestFocus();
        tbl_departamento.setSelectionMode(0);

        //Método utilizado para centralizar o JFrame na tela
        Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
        this.setLocation((tela.width - this.getSize().width) / 2, (tela.height - this.getSize().height) / 2);

   }
    

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        btn_excluir = new javax.swing.JButton();
        txt_diretor = new javax.swing.JTextField();
        btn_atualizar = new javax.swing.JButton();
        txt_id = new javax.swing.JTextField();
        btn_novo = new javax.swing.JButton();
        opt_sim = new javax.swing.JRadioButton();
        btn_salvar = new javax.swing.JButton();
        txt_departamento = new javax.swing.JTextField();
        opt_nao = new javax.swing.JRadioButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tbl_departamento = new javax.swing.JTable();
        btnVoltar2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setName("Form"); // NOI18N
        setResizable(false);
        setUndecorated(true);

        jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jPanel1.setName("jPanel1"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(br.com.comprasPublicas.compraspublicas.ComprasPublicasApp.class).getContext().getResourceMap(DepartamentoView.class);
        jLabel1.setFont(resourceMap.getFont("jLabel1.font")); // NOI18N
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel9.setText(resourceMap.getString("jLabel9.text")); // NOI18N
        jLabel9.setName("jLabel9"); // NOI18N

        jLabel8.setText(resourceMap.getString("jLabel8.text")); // NOI18N
        jLabel8.setName("jLabel8"); // NOI18N

        jLabel11.setText(resourceMap.getString("jLabel11.text")); // NOI18N
        jLabel11.setName("jLabel11"); // NOI18N

        jLabel10.setText(resourceMap.getString("jLabel10.text")); // NOI18N
        jLabel10.setName("jLabel10"); // NOI18N

        btn_excluir.setText(resourceMap.getString("btn_excluir.text")); // NOI18N
        btn_excluir.setEnabled(false);
        btn_excluir.setName("btn_excluir"); // NOI18N
        btn_excluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_excluirActionPerformed(evt);
            }
        });

        txt_diretor.setText(resourceMap.getString("txt_diretor.text")); // NOI18N
        txt_diretor.setName("txt_diretor"); // NOI18N

        btn_atualizar.setText(resourceMap.getString("btn_atualizar.text")); // NOI18N
        btn_atualizar.setEnabled(false);
        btn_atualizar.setName("btn_atualizar"); // NOI18N
        btn_atualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_atualizarActionPerformed(evt);
            }
        });

        txt_id.setBackground(resourceMap.getColor("txt_id.background")); // NOI18N
        txt_id.setEditable(false);
        txt_id.setText(resourceMap.getString("txt_id.text")); // NOI18N
        txt_id.setName("txt_id"); // NOI18N

        btn_novo.setText(resourceMap.getString("btn_novo.text")); // NOI18N
        btn_novo.setName("btn_novo"); // NOI18N
        btn_novo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_novoActionPerformed(evt);
            }
        });

        buttonGroup1.add(opt_sim);
        opt_sim.setSelected(true);
        opt_sim.setText(resourceMap.getString("opt_sim.text")); // NOI18N
        opt_sim.setName("opt_sim"); // NOI18N

        btn_salvar.setText(resourceMap.getString("btn_salvar.text")); // NOI18N
        btn_salvar.setEnabled(false);
        btn_salvar.setName("btn_salvar"); // NOI18N
        btn_salvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_salvarActionPerformed(evt);
            }
        });

        txt_departamento.setName("txt_departamento"); // NOI18N
        txt_departamento.setNextFocusableComponent(btn_salvar);
        txt_departamento.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                txt_departamentoFocusLost(evt);
            }
        });

        buttonGroup1.add(opt_nao);
        opt_nao.setText(resourceMap.getString("opt_nao.text")); // NOI18N
        opt_nao.setName("opt_nao"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        tbl_departamento.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "ID", "Diretor", "Departamento", "Ativo"
            }
        ));
        tbl_departamento.setName("tbl_departamento"); // NOI18N
        tbl_departamento.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tbl_departamentoMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tbl_departamento);
        tbl_departamento.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("tbl_departamento.columnModel.title0")); // NOI18N
        tbl_departamento.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("tbl_departamento.columnModel.title1")); // NOI18N
        tbl_departamento.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("tbl_departamento.columnModel.title2")); // NOI18N
        tbl_departamento.getColumnModel().getColumn(3).setHeaderValue(resourceMap.getString("tbl_departamento.columnModel.title3")); // NOI18N

        btnVoltar2.setFont(resourceMap.getFont("btnVoltar2.font")); // NOI18N
        btnVoltar2.setMnemonic('v');
        btnVoltar2.setText(resourceMap.getString("btnVoltar2.text")); // NOI18N
        btnVoltar2.setName("btnVoltar2"); // NOI18N
        btnVoltar2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnVoltar2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel11)
                            .addComponent(jLabel10)
                            .addComponent(jLabel9)
                            .addComponent(jLabel8))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txt_id, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txt_diretor, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txt_departamento, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(opt_sim)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(opt_nao))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(42, 42, 42)
                        .addComponent(jLabel1))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(59, 59, 59)
                        .addComponent(btn_novo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_salvar)
                        .addGap(12, 12, 12)
                        .addComponent(btn_excluir)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btn_atualizar))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(335, 335, 335)
                        .addComponent(btnVoltar2, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 421, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel11)
                    .addComponent(txt_id, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(txt_diretor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel9)
                    .addComponent(txt_departamento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(opt_sim)
                    .addComponent(opt_nao))
                .addGap(14, 14, 14)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btn_novo)
                    .addComponent(btn_salvar)
                    .addComponent(btn_excluir)
                    .addComponent(btn_atualizar))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 235, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnVoltar2)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(891, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(111, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void txt_departamentoFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_departamentoFocusLost
        
    }//GEN-LAST:event_txt_departamentoFocusLost

    private void btn_salvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_salvarActionPerformed
        try
        {
            Departamento departamento = new Departamento();
            departamento.setDepartamento(txt_departamento.getText());
            departamento.setDiretor(txt_diretor.getText());

            if(opt_sim.isSelected())
            {
                departamento.setAtivo_departamento("S");
                opt_nao.setSelected(false);
            }

            else
            if(opt_nao.isSelected())
            {
                departamento.setAtivo_departamento("N");
                opt_sim.setSelected(false);
            }

            if(validaDados()){
                DAOGenerico obj_departamento = new DAOGenerico(departamento);
                if(obj_departamento.inserir()){
                    btn_novoActionPerformed(evt);
                    txt_id.setText("");
                    JOptionPane.showMessageDialog(null, "Departamento salvo com sucesso");
                    preencher_jtable();
                    desabilita_botoes();
                    btn_novo.setEnabled(true);
                    btn_novo.requestFocus();
                }
                else{
                    JOptionPane.showMessageDialog(null, "Departamento não foi salvo");
                }
            }
        }
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(null, "Não foi possível gravar departamento "+erro);
        }
    }//GEN-LAST:event_btn_salvarActionPerformed

    private void btn_novoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_novoActionPerformed
        limpar_dados();
        habilita_botoes();
        btn_novo.setEnabled(false);
        txt_diretor.requestFocus();

        select_max();
    }//GEN-LAST:event_btn_novoActionPerformed

    private void btn_excluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_excluirActionPerformed
        try
        {
            Departamento departamento = new Departamento();
            int id = Integer.parseInt(txt_id.getText());
            departamento.setId_departamento(id);
            //DAOGenerico obj_departamento = new DAOGenerico(departamento);
            
            String deletar = "Deletar o departamento: "+txt_departamento.getText()+" ?";
            int opcao_escolhida = JOptionPane.showConfirmDialog(null, deletar,"Tela de Exclusão"
                                            ,JOptionPane.YES_NO_OPTION);
            if(opcao_escolhida == JOptionPane.YES_OPTION)
            {
                DAOGenerico obj_departamento = new DAOGenerico(departamento);
                if(obj_departamento.excluir()){
                    btn_novoActionPerformed(evt);
                    txt_id.setText("");
                    JOptionPane.showMessageDialog(null, "Departamento excluído com sucesso");
                    preencher_jtable();
                    desabilita_botoes();
                }
                else{
                    JOptionPane.showMessageDialog(null, "Departamento não foi excluído");
                }
            }
        }
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(null, "Não foi possível gravar departamento "+erro);
        }
    }//GEN-LAST:event_btn_excluirActionPerformed

    private void tbl_departamentoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tbl_departamentoMouseClicked
        habilita_botoes();
        txt_id.setText(tbl_departamento.getModel().getValueAt(tbl_departamento.getSelectedRow(),0).toString());
        txt_diretor.setText(tbl_departamento.getModel().getValueAt(tbl_departamento.getSelectedRow(),1).toString());
        txt_departamento.setText(tbl_departamento.getModel().getValueAt(tbl_departamento.getSelectedRow(),2).toString());
        if(tbl_departamento.getModel().getValueAt(tbl_departamento.getSelectedRow(),3).toString().equals("S"))
        {
            opt_sim.setSelected(true);
            opt_nao.setSelected(false);
        }
        else
        if(tbl_departamento.getModel().getValueAt(tbl_departamento.getSelectedRow(),3).toString().equals("N"))
        {
            opt_sim.setSelected(false);
            opt_nao.setSelected(true);
        }
    }//GEN-LAST:event_tbl_departamentoMouseClicked

    private void btn_atualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_atualizarActionPerformed
        try
        {
            Departamento departamento = new Departamento();
            int id = Integer.parseInt(txt_id.getText());
            departamento.setId_departamento(id);
            departamento.setDepartamento(txt_departamento.getText());
            departamento.setDiretor(txt_diretor.getText());

            if(opt_sim.isSelected())
            {
                departamento.setAtivo_departamento("S");
                opt_nao.setSelected(false);
            }
                
            else
            if(opt_nao.isSelected())
            {
                departamento.setAtivo_departamento("N");
                opt_sim.setSelected(false);
            }
                

            if(validaDados()){
                DAOGenerico obj_departamento = new DAOGenerico(departamento);
                if(obj_departamento.atualizar()){
                    btn_novoActionPerformed(evt);
                    txt_id.setText("");
                    JOptionPane.showMessageDialog(null, "Departamento atualizado com sucesso");
                    preencher_jtable();
                    desabilita_botoes();
                }
                else{
                    JOptionPane.showMessageDialog(null, "Departamento não foi atualizado");
                }
            }
        }
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(null, "Não foi possível atualizar departamento "+erro);
        }
    }//GEN-LAST:event_btn_atualizarActionPerformed

    private void btnVoltar2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVoltar2ActionPerformed
        Object[] options = { "Sim", "Não" };
        int opcao = JOptionPane.showOptionDialog(
                null,
                "Deseja sair da tela de Departamento?",
                "Saída de Tela",
                JOptionPane.DEFAULT_OPTION,
                JOptionPane.WARNING_MESSAGE,
                null,
                options,
                options[0]);

        if (opcao == 0) {
            this.dispose();
            limpar_dados();
        }
}//GEN-LAST:event_btnVoltar2ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DepartamentoView().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnVoltar2;
    private javax.swing.JButton btn_atualizar;
    private javax.swing.JButton btn_excluir;
    private javax.swing.JButton btn_novo;
    private javax.swing.JButton btn_salvar;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JRadioButton opt_nao;
    private javax.swing.JRadioButton opt_sim;
    private javax.swing.JTable tbl_departamento;
    private javax.swing.JTextField txt_departamento;
    private javax.swing.JTextField txt_diretor;
    private javax.swing.JTextField txt_id;
    // End of variables declaration//GEN-END:variables

    public Boolean validaDados(){
        Boolean retorno = true;
        String erros = new String();

        if (txt_departamento.getText().equals("")){
            erros += "Departamento não informado\n";
            retorno = false;
        }

        if (txt_diretor.getText().equals("")){
            erros += "Diretor não informado\n";
            retorno = false;
        }

        if ((opt_sim.isSelected()==false)&&(opt_nao.isSelected()==false)){
            erros += "Informe se o departamento está ou não ativo\n";
            retorno = false;
        }

        if (!retorno){
            JOptionPane.showMessageDialog(null, "Os seguinte(s) erro(s) ocorreu(ram):\n"+erros);
        }

        return retorno;
    }

    public void limpar_dados()
    {
        //txt_id.setText("");

        txt_departamento.setText("");
        txt_diretor.setText("");
        opt_sim.setSelected(false);
        opt_nao.setSelected(false);


    }

    public void preencher_jtable()
    {
    try
    {
        tbl_departamento.getColumnModel().getColumn(0).setPreferredWidth(20);
        tbl_departamento.getColumnModel().getColumn(1).setPreferredWidth(150);
        tbl_departamento.getColumnModel().getColumn(2).setPreferredWidth(150);
        tbl_departamento.getColumnModel().getColumn(3).setPreferredWidth(20);
        
        DefaultTableModel modelo = (DefaultTableModel) tbl_departamento.getModel();
        modelo.setNumRows(0);

        Departamento departamento = new Departamento();
        DAOGenerico obj_dao_generico = new DAOGenerico(departamento);
        
        List<Departamento> lista = new ArrayList();
        lista = obj_dao_generico.executa_query("order_by_id_dep");
        int tamanho_lista = lista.size();
        
        for(int i = 0; i < tamanho_lista;i++)
        {
            departamento = lista.get(i);
            modelo.addRow(new Object[]{departamento.getId_departamento(),
                                       departamento.getDiretor(),
                                       departamento.getDepartamento(),
                                       departamento.getAtivo_departamento()});
        }
    }
    catch(Exception erro)
    {
        JOptionPane.showMessageDialog(null, "Não foi possível preencher tabela "+erro);
    }
 
    }

    public void select_max()
    {
        Departamento departamento = new Departamento();
        DAOGenerico obj_dao_generico = new DAOGenerico(departamento);
        List<Departamento> lista = new ArrayList();
        lista = obj_dao_generico.executa_query("select_max_id_dep");
        int tamanho_lista = lista.size();

        for(int i = 0; i < tamanho_lista;i++)
        {
            departamento = lista.get(i);
            String id = String.valueOf(departamento.getId_departamento()+1);
            txt_id.setText(id);
        }

    }

    public void desabilita_botoes()
    {
        btn_atualizar.setEnabled(false);
        btn_excluir.setEnabled(false);
        btn_salvar.setEnabled(false);
        btn_novo.setEnabled(true);
    }

    public void habilita_botoes()
    {
        btn_salvar.setEnabled(true);
        btn_excluir.setEnabled(true);
        btn_atualizar.setEnabled(true);
        btn_novo.setEnabled(false);
    }

}

